14 research outputs found

    Une nouvelle stratégie de glissement de données pour les caches élastiques dans les architectures manycoeurs.

    Get PDF
    La contribution de ce rapport propose une solution à la limitation du mécanismes de cache élastique dans un voisinage stressé. En effet, le mécanisme de glissement de données proposée consiste à diffuser les données de proche en proche sur un voisinage plus élargi. Toutes les données locales issues d'un nœud stressé sont stockées chez son voisinage direct. Les voisins sollicités font de même pour leurs données locales tout en les gardant dans leurs voisinages respectifs. Cette technique permet de maintenir les données locales les plus utilisées à 1 pas proche de leur nœud d'origine, au lieu de les éjecter hors puce. Ce qui revient à réduire le coût d'accès à ces données, mais aussi le nombre de défauts de cache. En plus, du principe de glissement, notre contribution repose sur deux principaux mécanismes : la technique du Best Neighbor pour le choix du voisin destinataire, et le protocole de remplacement par priorité pour désigner le bloc à transférer au voisinage. Une première étude analytique montre une amélioration importante du trafic sur puce. Une réduction des accès au Home Node a également été constatée. D'autres perspectives sont envisagées pour évaluer le gain en latence et coût de consommation

    Modèles et protocoles de cohérence de données, décision et optimisation à la compilation pour des architectures massivement parallèles.

    Get PDF
    Manycores architectures consist of hundreds to thousands of embedded cores, distributed memories and a dedicated network on a single chip. In this context, and because of the scale of the processor, providing a shared memory system has to rely on efficient hardware and software mechanisms and data consistency protocols. Numerous works explored consistency mechanisms designed for highly parallel architectures. They lead to the conclusion that there won't exist one protocol that fits to all applications and hardware contexts. In order to deal with consistency issues for this kind of architectures, we propose in this work a multi-protocol compilation toolchain, in which shared data of the application can be managed by different protocols. Protocols are chosen and configured at compile time, following the application behaviour and the targeted architecture specifications. The application behaviour is characterized with a static analysis process that helps to guide the protocols assignment to each data access. The platform offers a protocol library where each protocol is characterized by one or more parameters. The range of possible values of each parameter depends on some constraints mainly related to the targeted platform. The protocols configuration relies on a genetic-based engine that allows to instantiate each protocol with appropriate parameters values according to multiple performance objectives. In order to evaluate the quality of each proposed solution, we use different evaluation models. We first use a traffic analytical model which gives some NoC communication statistics but no timing information. Therefore, we propose two cycle- based evaluation models that provide more accurate performance metrics while taking into account contention effect due to the consistency protocols communications.We also propose a cooperative cache consistency protocol improving the cache miss rate by sliding data to less stressed neighbours. An extension of this protocol is proposed in order to dynamically define the sliding radius assigned to each data migration. This extension is based on the mass-spring physical model. Experimental validation of different contributions uses the sliding based protocols versus a four-state directory-based protocol.Le développement des systèmes massivement parallèles de type manycores permet d'obtenir une très grande puissance de calcul à bas coût énergétique. Cependant, l'exploitation des performances de ces architectures dépend de l'efficacité de programmation des applications. Parmi les différents paradigmes de programmation existants, celui à mémoire partagée est caractérisé par une approche intuitive dans laquelle tous les acteurs disposent d'un accès à un espace d'adressage global. Ce modèle repose sur l'efficacité du système à gérer les accès aux données partagées. Le système définit les règles de gestion des synchronisations et de stockage de données qui sont prises en charge par les protocoles de cohérence. Dans le cadre de cette thèse nous avons montré qu'il n'y a pas un unique protocole adapté aux différents contextes d'application et d'exécution. Nous considérons que le choix d'un protocole adapté doit prendre en compte les caractéristiques de l'application ainsi que des objectifs donnés pour une exécution. Nous nous intéressons dans ces travaux de thèse au choix des protocoles de cohérence en vue d'améliorer les performances du système. Nous proposons une plate-forme de compilation pour le choix et le paramétrage d'une combinaison de protocoles de cohérence pour une même application. Cette plate- forme est constituée de plusieurs briques. La principale brique développée dans cette thèse offre un moteur d'optimisation pour la configuration des protocoles de cohérence. Le moteur d'optimisation, inspiré d'une approche évolutionniste multi-objectifs (i.e. Fast Pareto Genetic Algorithm), permet d'instancier les protocoles de cohérence affectés à une application. L'avantage de cette technique est un coût de configuration faible permettant d'adopter une granularité très fine de gestion de la cohérence, qui peut aller jusqu'à associer un protocole par accès. La prise de décision sur les protocoles adaptés à une application est orientée par le mode de performance choisi par l'utilisateur (par exemple, l'économie d'énergie). Le modèle de décision proposé est basé sur la caractérisation des accès aux données partagées selon différentes métriques (par exemple: la fréquence d'accès, les motifs d'accès à la mémoire, etc). Les travaux de thèse traitent également des techniques de gestion de données dans la mémoire sur puce. Nous proposons deux protocoles basés sur le principe de coopération entre les caches répartis du système: Un protocole de glissement des données ainsi qu'un protocole inspiré du modèle physique du masse-ressort

    Introducing a Data Sliding Mechanism for Cooperative Caching in Manycore Architectures

    Get PDF
    International audienceIn this paper, we propose a new cooperative caching method improving the cache miss rate for manycore micro- architec- tures. The work is motivated by some limitations of recent adaptive cooperative caching proposals. Elastic Cooperative caching (ECC), is a dynamic memory partitioning mechanism that allows sharing cache across cooperative nodes according to the application behavior. However, it is mainly limited with cache eviction rate in case of highly stressed neighbor- hood. Another system, the adaptive Set-Granular Cooperative Caching (ASCC), is based on finer set-based mechanisms for a better adaptability. However, heavy localized cache loads are not efficiently managed. In such a context, we propose a cooperative caching strategy that consists in sliding data through closer neighbors. When a cache receives a storing request of a neighbor's private block, it spills the least recently used private data to a close neighbor. Thus, solicited saturated nodes slide local blocks to their respective neighbors to always provide free cache space. We also propose a new Priority- based Data Replacement policy to decide efficiently which blocks should be spilled, and a new mechanism to choose host destination called Best Neighbor selector. The first analytic performance evaluation shows that the proposed cache management policies reduce by half the average global communication rate. As frequent accesses are focused in the neighboring zones, it efficiently improves on-Chip traffic. Finally, our evaluation shows that cache miss rate is en- hanced: each tile keeps the most frequently accessed data 1- Hop close to it, instead of ejecting them Off-Chip. Proposed techniques notably reduce the cache miss rate in case of high solicitation of the cooperative zone, as it is shown in the performed experiments

    Using the Spring Physical Model to Extend a Cooperative Caching Protocol for Many-Core Processors

    Get PDF
    International audienceAs the number of embedded cores grows up, the off-chip memory wall becomes an overwhelming bottleneck. As a consequence, it is more and more prevalent to efficiently exploit on-chip data storage. In a previous work, we proposed a data sliding mechanism that allows to store data onto our closest neighborhood, even under heavy stress loads. However, each cache block is allowed to migrate only one time to a neighbor's cache (e.g. 1-Chance Forwarding). In this paper, we propose an extension of our mechanism in order to expand the cooperative caching area. Our work is based on an adaptive physical model, where each cache block is considered as a mass connected to a spring. This technique constrains data migration according to the spring constant and the difference of work-loads between cores. This adaptive data sliding approach leads to a balanced spread of data on the chip and therefore improves on-chip storage. On-chip data access has been evaluated using an analytical approach. Results show that the extended data sliding increases the global cache hit rate on the chip, especially in the context of juxtaposed hot spots

    A Fast Evaluation Approach of Data Consistency Protocols within a Compilation Toolchain

    Get PDF
    International audienceShared memory is a critical issue for large distributed systems. Despite several data consistency protocols have been proposed, the selection of the protocol that best suits to the application requirements and system constraints remains a challenge. The development of multi-consistency systems, where different protocols can be deployed during runtime, appears to be an interesting alternative. In order to explore the design space of the consistency protocols a fast and accurate method should be used. In this work we rely on a compilation toolchain that transparently handles data consistency decisions for a multi-protocol platform. We focus on the analytical evaluation of the consistency configuration that stands within the optimization loop. We propose to use a TLM NoC simulator to get feedback on expected network contentions. We evaluate the approach using five workloads and three different data consistency protocols. As a result, we are able to obtain a fast and accurate evaluation of the different consistency alternatives

    Smoothing the H0H_0 tension with a dynamical dark energy model

    Full text link
    The discrepancy between Planck data and direct measurements of the current expansion rate H0H_0 and the matter fluctuation amplitude S8S_8 has become one of the most intriguing puzzles in cosmology nowadays. The H0H_0 tension has reached 4.2σ4.2\sigma in the context of standard cosmology i.e Λ\LambdaCDM. Therefore, explanations to this issue are mandatory to unveil its secrets. Despite its success, Λ\LambdaCDM is unable to give a satisfying explanation to the tension problem. Unless some systematic errors might be hidden in the observable measurements, physics beyond the standard model of cosmology must be advocated. In this perspective, we study a phantom dynamical dark energy model as an alternative to Λ\LambdaCDM in order to explain the aforementioned issues. This phantom model is characterised by one extra parameter, Ωpdde\Omega_{pdde}, compared to Λ\LambdaCDM. We obtain a strong positive correlation between H0H_0 and Ωpdde\Omega_{pdde}, for all data combinations. Using Planck measurements together with BAO and Pantheon, we find that the H0H_0 and the S8S_8 tensions are 3σ3\sigma and 2.6σ2.6\sigma, respectively. By introducing a prior on the absolute magnitude, MBM_B, of the SN Ia, the H0H_0 tension decreases to 2.27σ2.27\sigma with H0=69.760.82+0.75H_0 = 69.76_{-0.82}^{+0.75} km s1^{-1} Mpc1^{-1} and the S8S_8 tension reaches the value 2.37σ2.37\sigma with S8=0.82690.012+0.011S_8 =0.8269_{-0.012}^{+0.011}.Comment: 11 pages, 4 figure

    Data Consistency Models and Protocols, Decision and Optimization at Compile Time for Massively Parallel Architectures

    No full text
    Le développement des systèmes massivement parallèles de type manycores permet d'obtenir une très grande puissance de calcul à bas coût énergétique. Cependant, l'exploitation des performances de ces architectures dépend de l'efficacité de programmation des applications. Parmi les différents paradigmes de programmation existants, celui à mémoire partagée est caractérisé par une approche intuitive dans laquelle tous les acteurs disposent d'un accès à un espace d'adressage global. Ce modèle repose sur l'efficacité du système à gérer les accès aux données partagées. Le système définit les règles de gestion des synchronisations et de stockage de données qui sont prises en charge par les protocoles de cohérence. Dans le cadre de cette thèse nous avons montré qu'il n'y a pas un unique protocole adapté aux différents contextes d'application et d'exécution. Nous considérons que le choix d'un protocole adapté doit prendre en compte les caractéristiques de l'application ainsi que des objectifs donnés pour une exécution. Nous nous intéressons dans ces travaux de thèse au choix des protocoles de cohérence en vue d'améliorer les performances du système. Nous proposons une plate-forme de compilation pour le choix et le paramétrage d'une combinaison de protocoles de cohérence pour une même application. Cette plate- forme est constituée de plusieurs briques. La principale brique développée dans cette thèse offre un moteur d'optimisation pour la configuration des protocoles de cohérence. Le moteur d'optimisation, inspiré d'une approche évolutionniste multi-objectifs (i.e. Fast Pareto Genetic Algorithm), permet d'instancier les protocoles de cohérence affectés à une application. L'avantage de cette technique est un coût de configuration faible permettant d'adopter une granularité très fine de gestion de la cohérence, qui peut aller jusqu'à associer un protocole par accès. La prise de décision sur les protocoles adaptés à une application est orientée par le mode de performance choisi par l'utilisateur (par exemple, l'économie d'énergie). Le modèle de décision proposé est basé sur la caractérisation des accès aux données partagées selon différentes métriques (par exemple: la fréquence d'accès, les motifs d'accès à la mémoire, etc). Les travaux de thèse traitent également des techniques de gestion de données dans la mémoire sur puce. Nous proposons deux protocoles basés sur le principe de coopération entre les caches répartis du système: Un protocole de glissement des données ainsi qu'un protocole inspiré du modèle physique du masse-ressort.Manycores architectures consist of hundreds to thousands of embedded cores, distributed memories and a dedicated network on a single chip. In this context, and because of the scale of the processor, providing a shared memory system has to rely on efficient hardware and software mechanisms and data consistency protocols. Numerous works explored consistency mechanisms designed for highly parallel architectures. They lead to the conclusion that there won't exist one protocol that fits to all applications and hardware contexts. In order to deal with consistency issues for this kind of architectures, we propose in this work a multi-protocol compilation toolchain, in which shared data of the application can be managed by different protocols. Protocols are chosen and configured at compile time, following the application behaviour and the targeted architecture specifications. The application behaviour is characterized with a static analysis process that helps to guide the protocols assignment to each data access. The platform offers a protocol library where each protocol is characterized by one or more parameters. The range of possible values of each parameter depends on some constraints mainly related to the targeted platform. The protocols configuration relies on a genetic-based engine that allows to instantiate each protocol with appropriate parameters values according to multiple performance objectives. In order to evaluate the quality of each proposed solution, we use different evaluation models. We first use a traffic analytical model which gives some NoC communication statistics but no timing information. Therefore, we propose two cycle- based evaluation models that provide more accurate performance metrics while taking into account contention effect due to the consistency protocols communications.We also propose a cooperative cache consistency protocol improving the cache miss rate by sliding data to less stressed neighbours. An extension of this protocol is proposed in order to dynamically define the sliding radius assigned to each data migration. This extension is based on the mass-spring physical model. Experimental validation of different contributions uses the sliding based protocols versus a four-state directory-based protocol

    Aide à la décision pour le choix et le paramétrage de protocoles de cohérence des données

    Get PDF
    International audienceL’introduction des systèmes massivement parallèles manycores promet de très hautes per-formances à basse consommation d’énergie. Afin de mieux profiter de telles performances decalcul, il est important de garantir des techniques de parallélisation efficaces. Parmi les modèlesde programmation dédiés aux contextes hautement parallèles, le modèle à mémoire partagéea l’avantage de faciliter la parallélisation via l’accès à un espace d’adressage global. Le choixd’un tel paradigme de programmation repose sur l’efficacité du système à gérer les accès auxdonnées partagées. Dans un tel système, les règles de gestion de la synchronisation, la localitéet le transfert des données sont mises en œuvre par des protocoles de cohérences. Le choixde ces derniers représente une partie de la capacité du système à améliorer les performancesde l’application à l’exécution. De précédents travaux ont montré qu’il n’y a pas un uniqueprotocole adapté aux différents contextes. Nous considérons que le choix d’un protocole adaptédoit prendre en compte les caractéristiques de l’application mais aussi les propriétés de laplate-forme cible. Pour répondre à la question sur le choix des protocoles de cohérence, nousproposons un modèle de plate-forme à protocoles multiples. Ce modèle permet d’affecter àchaque accès à une variable partagée un protocole approprié. Nous nous intéressons dans cetravail à la problématique de prise de décision pour un choix de protocole efficace et adaptéau contexte de l’application. La définition et la configuration des protocoles choisis sont réa-lisées à travers un processus de compilation itérative. Ce processus est constitué de plusieursétapes allant de la caractérisation de l’application à la définition des paramètres des protocoleschoisis. Le travail présenté met en avant les deux phases liées aux choix de protocoles et à ladéfinition de leurs paramètres. La phase d’évaluation des protocoles paramétrés est basée surun processus analytique haut niveau nous permettant d’esquisser le comportement général duprotocole à un bas coût de calcul et avec un niveau de précision suffisant. Dans les travauxque nous présentons, le choix du protocole et sa configuration sont effectués en deux phasesdifférentes utilisant des techniques de Recherche opérationnelle

    Adaptive Cooperative Caching for Many-cores systems

    Get PDF
    Nowadays, many-core processors emerge as a serious alternative to regular processors by offering high computing performances while controlling power consumption. As for every complex parallel and distributed systems, data sharing and data consistency is of major importance. In this paper we propose a short overview of one particular coherency protocol, the data sliding mechanism, based on cooperative caching. We also present some perspectives to this work, and its global integration within a complete system. KEYWORDS
    corecore